PARQUET-243: Add Avro reflect support#165
Conversation
There was a problem hiding this comment.
Can you add a bit of documentation to explain the salient differences between this class and AvroRecordConverter? It's quite hard to tell just by looking.
|
This looks great. I think AvroParquetOutputFormat needs to be parameterized by T (like AvroParquetInputFormat already is). Also can you add a TestReflectInputOutputFormat to test the formats when using reflect. |
d526347 to
77691a0
Compare
This preserves the current behavior until the next major version.
This updates the old (compatible) converters to use AvroConverters.
77691a0 to
a1a17b4
Compare
|
@tomwhite, I've updated this and rebased it after the rename. I didn't need to duplicate the read or write classes where the type bound has changed because they are extending classes or interfaces with a weaker type bound. In that case, the JVM writes the method using the parent's descriptor, so they are binary compatible. I also verified this expected behavior locally with test classes, by compiling against <T extends Something> then changing to just <T> and verifying that the dependency binaries are interchangeable. In addition, I made sure that without the superclass or superinterface, binary compatibility is indeed broken. I think this is ready to go. Thanks for taking a look! |
|
Thanks for checking the compatibility! I think this is ready now. +1 |
No description provided.